1. Field of the Invention
The present invention relates to wireless remote control of appliances such as, for example, garage door openers.
2. Background Art
Home appliances, such as garage door openers, security gates, home alarms, lighting, and the like, may conveniently be operated from a remote control. Typically, the remote control is purchased together with the appliance. The remote control transmits a radio frequency activation signal which is recognized by a receiver associated with the appliance. Aftermarket remote controls are gaining in popularity as such devices can offer functionality different from the original equipment remote control. Such functionality includes decreased size, use with multiple appliances, increased performance, and the like. Aftermarket controllers are also purchased to replace lost or damaged controllers or to simply provide another remote control for accessing the appliance.
An example application for aftermarket remote controls are remote garage door openers integrated into an automotive vehicle. These integrated remote controls provide customer convenience, increased safety, multiple door operation, and enhanced vehicle value. Present in-dash vehicle integrated remote controls provide a “universal” or programmable garage door opener which learns characteristics of an existing transmitter then, when prompted by a user, generates an activation signal having the same characteristics.
Two types of activation signals are commonly used, those based on a fixed code and those based on a rolling code. Fixed code activation signals transmit the same code word with each activation transmission. Typically, the fixed code word may be set by the user in the receiver and any transmitters. This may be accomplished by setting jumpers or DIP switches to a matching pattern in the receiver and transmitters.
In contrast, rolling code activation signals include a different code word with each activation transmission. The rolling code code word is typically generated by encrypting a counter value with a crypt key. The crypt key is based on a transmitter identifier number maintained by the transmitter.
Rolling code appliance receivers must “learn” a transmitter before the transmitter can be used to activate the appliance. This is done by placing the receiver in learn mode and then keying the transmitter to send an activation signal. The activation signal includes the transmitter identifier and a rolling code word. The receiver uses the transmitter identifier to generate a crypt key. The receiver then uses the crypt key to decrypt the rolling code word, yielding a counter value. The receiver stores the counter value and crypt key associated with the transmitter identifier. The receiver then drops out of learn mode and is ready for normal operation.
One advantage of rolling code activation schemes is the ability of an appliance receiver to reject previously transmitted activation signals. This prevents false activation from reflections as well as from unauthorized access by retransmission of an activation signal grabbed from the air. The receiver accomplishes this task by decrypting a received rolling code to obtain a counter value maintained by the transmitter. This counter value is compared to an expected counter value associated with the transmitter identifier received together with the decrypted rolling code. If the received counter value is less than the expected counter value, the receiver treats the received activation signal as an invalid signal.
A problem therefore arises if two transmitters have the same transmitter identifier. After no more than one activation by either transmitter, one of the transmitters will have a counter value less than the other transmitter. When encrypted and transmitted, the lesser counter value will result in an activation signal ignored by the receiver, rendering that transmitter useless.
What is needed is a universal remote controller that may be programmed by an existing rolling code transmitter and then function together with the existing transmitter in activating an appliance.